package com.wrl.design.principle.singleresponsibility;

/**
 * @author Wang Renlei
 * @Date 2019/11/5 0005
 */
public interface ICourse {

    /**
     * 这个接口里面有四个功能，但可以分为两种类型：课程内容和管理课程
     * 所以我们可以把这个接口拆分，详见以下两个接口:
     * ICourseContent和ICourseManage
     * 然后用实现类同时实现这两个接口。
     *
     * 这样可以降低复杂性，可读性也就提高了，自然而然，维护性也提高了。
     * 以后的功能变更也更方便
     */

    //获取课程名字
    String getCourseName();
    //获取课程视频
    byte[] getCourseVideo();

    //学习课程
    void studayCourse();
    //课程退款
    void refundCourse();

}
